Method and apparatus for obtaining extended connectivity via peer-to-peer communication

ABSTRACT

Techniques for supporting communication with extended connectivity via peer-to-peer communication are described. In one design, a first device may determine at least one radio selected for use on a second device. The first device may communicate with at least one communication network via the at least one radio on the second device. At least one application running on the first device may be mapped to the radio(s) on the second device based on the capabilities of the radio(s) and the requirements of the application(s). In another design, the first device may communicate with a first communication network via the second device and may receive configuration information sent to it via the second device. The first device may access a second communication network using the configuration information, which may include authentication information for the first device for the second communication network.

The present application claims priority to provisional U.S. Application Ser. No. 61/182,986, entitled “Multi-radio connection manager framework,” filed Jun. 1, 2009, assigned to the assignee hereof and incorporated herein by reference.

BACKGROUND

I. Field

The present disclosure relates generally to communication, and more specifically to techniques for supporting communication for a wireless communication device.

II. Background

Wireless communication networks are widely deployed to provide various communication content such as voice, video, packet data, messaging, broadcast, etc. These wireless networks may be multiple-access networks capable of supporting multiple users by sharing the available network resources. Examples of such multiple-access networks include Code Division Multiple Access (CDMA) networks, Time Division Multiple Access (TDMA) networks, Frequency Division Multiple Access (FDMA) networks, Orthogonal FDMA (OFDMA) networks, and Single-Carrier FDMA (SC-FDMA) networks.

A wireless communication network may include a number of base stations that can support communication for a number of wireless devices. A wireless device may communicate directly with a base station if a communication channel between the wireless device and the base station has acceptable quality. The wireless device may be unable to communicate directly with the base station if the communication channel has poor quality. It may be desirable to support communication for the wireless device even when the communication channel is poor.

SUMMARY

Techniques for supporting communication with extended connectivity via peer-to-peer communication are described herein. For extended connectivity, a device may communicate peer-to-peer with another device in order to maintain communication with a communication network or some other entity.

In one design, a first device may determine at least one radio selected for use on a second device. The first device may communicate with at least one communication network via the at least one radio on the second device. The first device may determine the capabilities of the at least one radio on the second device. The first device may map at least one application running on the first device to the at least one radio on the second device based on the capabilities of the at least one radio and the requirements of the at least one application.

In another design, the first device may communicate with a first communication network via the second device. The first device may receive configuration information sent to the first device via the second device. The configuration information may be for a second communication network and may comprise authentication information (e.g., credentials) usable by the first device to access the second communication network. The first device may then access the second communication network using the configuration information.

Various aspects and features of the disclosure are described in further detail below.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a wireless device communicating with various networks.

FIG. 2 shows a block diagram of the wireless device.

FIG. 3 shows a call flow for connection management.

FIG. 4 shows an example of mobility management for multiple radios.

FIG. 5 shows operation of a connection manager to provide connectivity.

FIGS. 6, 7 and 8 show three exemplary scenarios of extended connectivity for the wireless device.

FIG. 9 shows a process for communicating with extended connectivity.

FIG. 10 shows a process for obtaining configuration information with extended connectivity.

FIG. 11 shows a process for supporting communication with extended connectivity.

DETAILED DESCRIPTION

FIG. 1 shows a wireless communication device 110 capable of communicating with multiple wireless communication networks. These wireless networks may include one or more wireless wide area networks (WWANs) 120 and 130, one or more wireless local area networks (WLANs) 140 and 150, one or more wireless personal area networks (WPANs) 160, one or more broadcast networks 170, one or more satellite positioning systems 180, other networks and systems not shown in FIG. 1, or any combination thereof. The terms “network” and “system” are often used interchangeably. The WWANs may be cellular networks.

Cellular networks 120 and 130 may each be a CDMA, TDMA, FDMA, OFDMA, SC-FDMA, or some other network. A CDMA network may implement a radio technology such as Universal Terrestrial Radio Access (UTRA), cdma2000, etc. UTRA includes Wideband CDMA (WCDMA) and other variants of CDMA. cdma2000 covers IS-2000, IS-95, and IS-856 standards. IS-2000 is also referred to as CDMA 1X, and IS-856 is also referred to as Evolution-Data Optimized (EVDO). A TDMA network may implement a radio technology such as Global System for Mobile Communications (GSM), Digital Advanced Mobile Phone System (D-AMPS), etc. An OFDMA network may implement a radio technology such as Evolved UTRA (E-UTRA), Ultra Mobile Broadband (UMB), IEEE 802.16 (WiMAX), IEEE 802.20, Flash-OFDM®, etc. UTRA and E-UTRA are part of Universal Mobile Telecommunication System (UMTS). 3GPP Long Term Evolution (LTE) and LTE Advanced (LTE-A) are new releases of UMTS that use E-UTRA. UTRA, E-UTRA, UMTS, LTE, LTE-A and GSM are described in documents from an organization named “3rd Generation Partnership Project” (3GPP). cdma2000 and UMB are described in documents from an organization named “3rd Generation Partnership Project 2” (3GPP2). Cellular network 120 may include a number of base stations 122 that can support bi-directional communication for wireless devices within their coverage. Similarly, cellular network 130 may include a number of base stations 132 that can support bi-directional communication for wireless devices within their coverage.

WLANs 140 and 150 may each implement a radio technology such as IEEE 802.11 (Wi-Fi), Hiperlan, etc. WLAN 140 may include one or more access points 142 that can support bi-directional communication. Similarly, WLAN 150 may include one or more access points 152 that can support bi-directional communication. WPAN 160 may implement a radio technology such as Bluetooth, IEEE 802.15, etc. WPAN 160 may support bi-directional communication for various devices such as wireless device 110, a headset 162, a computer 164, a mouse 166, etc.

Broadcast network 170 may be a television (TV) broadcast network, a frequency modulation (FM) broadcast network, a digital broadcast network, etc. A digital broadcast network may implement a radio technology such as MediaFLO™ Digital Video Broadcasting for Handhelds (DVB-H), Integrated Services Digital Broadcasting for Terrestrial Television Broadcasting (ISDB-T), Advanced Television Systems Committee—Mobile/Handheld (ATSC-M/H), etc. Broadcast network 170 may include one or more broadcast stations 172 that can support one-way communication.

Satellite positioning system 180 may be the United States Global Positioning System (GPS), the European Galileo system, the Russian GLONASS system, the Japanese Quasi-Zenith Satellite System (QZSS), the Indian Regional Navigational Satellite System (IRNSS), the Chinese Beidou system, etc. Satellite positioning system 180 may include a number of satellites 182 that transmit signals used for positioning.

Wireless device 110 may be stationary or mobile and may also be referred to as a user equipment (UE), a mobile station, a mobile equipment, a terminal, an access terminal, a subscriber unit, a station, etc. Wireless device 110 may be a cellular phone, a personal digital assistant (PDA), a wireless modem, a handheld device, a laptop computer, a cordless phone, a wireless local loop (WLL) station, a broadcast receiver, etc. Wireless device 110 may communicate two-way with cellular networks 120 and/or 130, WLANs 140 and/or 150, devices within WPAN 160, etc. Wireless device 110 may also receive signals from broadcast network 170, satellite positioning system 180, etc. In general, wireless device 110 may communicate with any number of networks and systems at any given moment.

FIG. 2 shows a block diagram of a design of wireless device 110, which includes a host subsystem 210 and a radio subsystem 230. In the design shown in FIG. 2, host subsystem 210 includes a host processor 220 and a memory 222. Wireless device 110 may support L applications 224 a through 2241, which may provide different communication services such as voice, packet data, video, video telephony, email, broadcast reception, instant messaging, push-to-talk, etc. In general, L may be any value. Any of the L applications 224 may be active at any given moment. An application programming interface (API) 226 may support communication between applications 224 and an operating system (OS) 228 for wireless device 110. Operating system 228 may control the operation of wireless device 110 and may be a high level operating system (HLOS) or some other operating system. Host processor 220 may execute the active applications and may also run the API and the operating system. Memory 222 may store program codes and data for host processor 220.

In the design shown in FIG. 2, radio subsystem 230 includes an embedded connection manager (CnM) 240, databases 272 to 278, a modem processor 280, a memory 282, and R radios 290 a through 290 r, where R may be any value. Radio subsystem 230 may be a modem chip, a modem chipset, a wireless data card, etc. The R radios 290 may be for 3GPP2 cellular networks (e.g., CDMA 1X, EVDO, etc.), 3GPP cellular networks (e.g., GSM, GPRS, EDGE, WCDMA, LTE, etc.), WLANs, WiMAX networks, GPS, Bluetooth, broadcast networks, Near Field Communication (NFC), Radio Frequency Identification (RFID), etc. Modem processor 280 may perform various functions such as processing for data being transmitted or received via radios 290. The processing for each radio 290 may be dependent on the radio technology supported by that radio and may include encoding, decoding, modulation, demodulation, encryption, decryption, etc. Memory 282 may store program codes and data for modem processor 280 and connection manager 240.

Connection manager 240 may perform various functions to support communication for active applications and services via available radios. Within connection manager 240, a connection manager (CnM) controller 242 may be responsible for the overall control of connection manager 240. CnM controller 242 may communicate with operating system 228 and host processor 220 via messages exchanged through a host interface, which may be common inter-processor communication (IPC). CnM controller 242 may determine which applications are active, obtain the requirements of the active applications, and provide information on the available or selected radios. CnM controller 242 may also coordinate the operation of other managers and controllers within connection manager 240, e.g., through messages exchanged via a common bus 258.

A system policy manager 244 may manage policies associated with the radios, activate and de-activate radios in response to events, and manage handoffs/handovers between wireless networks. The policies may be used to determine which radio(s) to use for any given application. A system resource manager 246 may interface with system policy manager 244 to perform resource management such as conflict resolution, power management, link quality of service (QoS), admission control, etc. An auxiliary service manager 248 may support clients/agents for auxiliary services, which are described below. Auxiliary service manager 248 may support a plug-in environment for introducing new clients of auxiliary services, which may simplify updating of technologies and features on wireless device 110.

A profile manager 250 may create, update, and prioritize profiles, which are described below. The profiles may indicate preferences for connectivity, as defined by various entities. Profile manager 250 may determine one or more applicable profiles for the current configuration and may generate operating rules based on the applicable profile(s). A call manager 252 may manage call, change phone settings, register/de-register supplementary services, and notify applications regarding call status, phone state/status, and service status. Call manager 252 may operate based on network operator rules, which may be provided via a preferred roaming list (PRL) in 3GPP2, a list of preferred public land mobile networks (PLMNs) in 3GPP, etc. A mobility manager 254 may manage service continuity using Mobile Internet Protocol (IP), neighbor channel measurements, better system detection, pre-authentication and security key exchange, and other functionality for voice and data services. A peer-to-peer (P2P) manager 256 may support peer-to-peer communication between wireless device 110 and other wireless devices with or without infrastructure, as described below. P2P manager 256 may enable peer-to-peer communication across wireless networks and sub-networks so that active applications can be unaware of intermediate nodes between the networks.

A radio controller 260 may interface with radios 290 and may control the operation of the radios. Radio controller 260 may be part of connection manager 240 (as shown in FIG. 2) or may be external to connection manager 240. Radio controller 260 may perform functions to support voice call continuity (VCC) and data call continuity (DCC). Radio controller 260 may also implement handoff mechanism for voice call continuity between a circuit-switched network and a packet-switched network. Radio controller 260 may also implement handoff mechanism for (i) data service continuity defined in 3GPP I-WLAN and (ii) Mobile IP defined in 3GPP and Internet Engineering Task Force (IETF). Radio controller 260 may support VCC and DCC functionalities for automatic system selection and in-call/in-use handoff between radios of different radio technologies in order to maintain good user experience.

A network database (DB) 272 may store information for different wireless networks such as a PRL, a preferred PLMN list, etc. A policy database 274 may store information that may be used to select radios to provide connectivity for wireless device 110. A profile database 276 may store profiles that may be used to obtain connectivity. A services database 278 may store service clients that have been downloaded onto wireless device 110. Other databases may also be used to store other types of information for wireless device 110.

FIG. 2 shows an exemplary design of connection manager 240 for wireless device 110. Connection manager 240 may also include fewer, different, and/or additional managers, controllers, and databases. In general, connection manager 240 may include (i) any number of managers and controllers for any number of functions and (ii) any number of databases for any type of information that may be useful to support communication.

FIG. 3 shows a design of a call flow 300 for connection management for wireless device 110 based on the design shown in FIG. 2. K applications may be active and may send connection requests to connection manager 240, where K≧1 (step 1). Connection manager 240 (e.g., CnM controller 242) may receive the connection requests and, in response, may send requests for radio connections to radio controller 260 (step 2). N radios 290 may be available for use and may make measurements for received signal strength indicator (RSSI), bit error rate (BER), and/or other link metrics. The available radios may send the link metrics via lower level signaling to radio controller 260, which may forward the link metrics to connection manager 240 (step 3).

Connection manager 240 may perform various functions such as authentication, registration, arbitration, and connection evaluation for the radios (step 4). Authentication may include verifying the user (e.g., password) and/or performing authentication with a wireless network to authenticate wireless device 110. Registration may include communicating with the wireless network to inform the network of the presence of wireless device 110. Arbitration may include resolving any conflict between multiple radios. Connection evaluation may include determining whether each radio has a good radio link/connection based on the RSSI, BER, and/or other link metrics. Connection evaluation may also include determining whether each radio has a good data path. A “radio link” may refer to a communication channel from a radio within wireless device 110 to a station in a wireless network, e.g., an access point in a WLAN or a base station in a cellular network. A “data path” may refer to an end-to-end communication channel from wireless device 110 (e.g., via a radio link and the Internet) all the way to an endpoint such as a server that is hosting a desired web page. Connection manager 240 may provide link metrics and/or path metrics.

In one design, connection manager 240 may select M radios for use, where in general 1≦M≦N (step 5). Connection manager 240 may then send the M selected radios to the applications (step 6). In another design, connection manager 240 may determine which radios are available and may provide the available radios to host processor 220. Host processor 220 may select which radios to use from among the available radios provided by connection manager 240. In any case, the K applications may be mapped to the M selected radios based on an application-to-radio mapping, and each application may connect to its radio(s) (step 7). For example, two applications may be active, application 1 may connect to one selected radio, and application 2 may connect to another selected radio.

The mapping of the K active applications to the M selected radios may be static or semi-static. The mapping may be updated whenever a change is detected, e.g., due to an active application terminating, a new application becoming active, a selected radio being out of coverage, a new radio becoming available, etc. The mapping may also be dynamic and may change more frequently due to handoff to support seamless mobility.

In general, one or more applications may be active at any given moment. Each application may have certain requirements. One or more radios may be selected to provide connectivity for the active application(s). Each radio may have certain capabilities. The number of radios to select and which particular radios to select may be dependent on the capabilities of the radios and the requirements of the active application(s). Each radio may provide connectivity for one or more active applications. Each active application may be mapped to one or more radios.

FIG. 4 shows an example of mobility management for multiple radios by connection manager 240. In this example, three radio connections 1, 2 and 3 are established to three different wireless networks. Radio connection 1 may be a High Speed Packet Access (HSPA) connection with a WCDMA network, radio connection 2 may be an EVDO connection with an EVDO network, and radio connection 3 may be a Wi-Fi connection with a WLAN. A handoff may occur between any two wireless networks due to changing radio conditions and/or other conditions described above.

Connection manager 240 may manage flow mobility for the K active applications. Each active application may have one or more data flows. A data flow may be described as communication or transfer of data from an application or service agent through one or more radios within a wireless device to one or more stations. A station may be an access point in a WLAN, a base station in a cellular network, a peer device, or some other entity. A peer device may connect to an access point or a base station, which may further connect to one or more communication endpoints such as an Internet server providing a web page or other information. A data flow may therefore be considered a “one [application] to many [radios, access points, and endpoints]” function. The data flows for the K active applications may be dynamically routed between multiple radios based on radio link quality, data requirements of the applications, congestion in the wireless networks or core networks, and/or other conditions.

An example of mobility management and flow mobility (not shown in FIG. 4) may be as follows. A user may be browsing the Internet using WLAN in a coffee shop. The user may receive a phone call and may answer the call via a CDMA 1X network, as determined by connection manager 240. A remote caller may request to show the user some information via a VideoShare application. The VideoShare application may be launched on an EVDO network, which may be able to meet the requirements of the VideoShare application. The user may then have three connections to three wireless networks at this moment. The user may thereafter leave the coffee shop, and WLAN connectivity may decline. Connection manager 240 may maintain the VideoShare application on the EVDO network and may move the browser application from the WLAN to the EVDO network. Connection manager 240 may thus perform handoff of the browser application from one wireless network to another wireless network. Alternatively, connection manager 240 may detect adequate WLAN connectivity and may maintain all three connections but may migrate some of the WLAN browser traffic to the EVDO network. Connection manager 240 may thus support flow mobility and may migrate a data flow partially between two or more wireless networks.

Connection manager 240 may provide capability to enable wireless device 110 to trigger handoff from one wireless network to another wireless network. This capability may be implemented by connection manager 240 and supported by profile database 276. This capability may extend to multi-radio scenarios, e.g., 3GPP cellular to WLAN, 3GPP2 cellular to WLAN, 3GPP cellular to 3GPP2 cellular, etc. This capability may also include multi-operator scenarios where handoff between network operators (e.g., for different radio technologies such as 3GPP to 3GPP2) is enabled.

Wireless device 110 may have one or more profiles used to provide connectivity for wireless device 110. A profile may contain preferences for specific actions that wireless device 110 should perform to obtain connectivity. For example, a profile may identify preferences for certain radios over other radios, preferences for a particular radio under certain conditions, etc. Different profiles may be defined by different entities such as a user, a network operator, an original equipment manufacturer (OEM) or wireless device manufacturer, an auxiliary service, etc. The profiles may allow wireless device 110 to conform to the requirements of the different entities.

In one design, one or more of the following profiles may be defined:

-   -   User profile—store preferences for connectivity defined by the         user,     -   Operator profile—store connectivity preferences defined by a         network operator,     -   OEM profile—store connectivity preferences defined by an OEM,     -   Applications profile—store connectivity preferences for         applications,     -   Services profile—store connectivity preferences for auxiliary         services, and     -   Learned profile—store connectivity preferences determined based         on learned patterns and behavior of wireless device 110.

The profiles may control connectivity for applications and services and may also control other features. For example, the profiles may be used to control push services update, e.g., to determine when applications or services should be downloaded onto wireless device 110. The profiles may also be used to control power consumption, e.g., to determine how power management should be performed within wireless device 110.

Wireless device 110 may have one or more service clients that can support one or more auxiliary services offered by network operators and/or other business entities. Each auxiliary service may be associated with a service server on the network side and a service client on wireless device 110. The service client may communicate with the service server in order to obtain the associated auxiliary service. Various types of auxiliary services may be supported. For example, an auxiliary service may be for Wi-Fi hotspot identification with authentication and may download a list of Wi-Fi hotspots and authentication credentials onto wireless device 110. The service client for this auxiliary service may process the downloaded information and may establish a WLAN connection based on the downloaded information. As another example, an auxiliary service may be for connectivity auction client and may be able to find the cheapest and/or best connectivity method. The service client for this auxiliary service may invoke the service, as necessary, to obtain the cheapest and/or best connectivity, e.g., when roaming, or when the user requests a communication service that is not offered by a home network operator, etc.

The service servers for the auxiliary services may reside in one or more networks. The service servers may provide functionality to assist connection manager 240 to provide connectivity for wireless device 110.

FIG. 5 shows operation of connection manager 240 to support connectivity for applications and service clients on wireless device 110. K applications may be active among L total applications, where K≧1. S service clients may also be active among T total service clients, where S≧1.

Connection manager 240 may receive connection requests from the K active applications and the S active service clients. Connection manager 240 may determine that P profiles are applicable among the Q total profiles, where P and Q may be any values. Connection manager 240 may also receive information indicative of the operating state, the available resources, and/or the location of wireless device 110. Connection manager 240 may determine operating rules based on the P selected profiles and the received information for wireless device 110.

Connection manager 240 may determine that N radios are available for use among the R total radios, where N≧1. Connection manager 240 may select M of the N available radios to provide connectivity for the K active applications and the S active service clients, where M≧1. Connection manager 240 may then map the K active applications and the S active service clients to the M selected radios based on the operating rules. In the example shown in FIG. 5, one active application and one active service client may be mapped to one selected radio, another active application and another active service client may be mapped to another selected radio, and yet another active application and two active service clients may be mapped to the last selected radios based on the operating rules. Each active service client may communicate with its associated service server. Each active application may communicate with any entity to obtain the desired communication service. In FIG. 5, the dashed lines indicate the flows for the auxiliary services (service clients and service servers), whereas the solid lines indicate the flows for the active applications. The endpoints for both the active applications and the active auxiliary services are shown in the “cloud”, which may be the Internet.

The active applications and/or the active service clients may change. Furthermore, one or more selected radios may no longer be available (e.g., due to mobility) and/or other radios may become available or may be more preferred. Connection manager 240 may update the selected radios, as needed, due to changes in the active applications, the active service clients, the available radios, the applicable profiles, the device operating state, the available resources, and/or other factors.

Wireless device 110 may obtain connectivity via one or more of the following:

Basic connectivity—connectivity through wireless networks,

Extended connectivity—connectivity through peer-to-peer communication, and

Auxiliary services—connectivity through network assistance.

For basic connectivity, connection manager 240 may support system selection, handoff between different wireless networks, and radio on/off management. For system selection, connection manager 240 may select the best available wireless networks based on the applicable profile(s). System selection may enable the active applications to have the best connectivity using the radios that best suit the communication needs of the user, whether the user is at home, at work, in public, etc. For handoff, connection manager 240 may handle handoff from cellular networks to WLANs and from cellular networks to cellular networks (e.g., based on the profiles) for voice, data, etc. Connection manager 240 may also ensure service continuity in an active mode (with applications running) when switching between different domains, e.g., circuit-switched and packet-switched domains. Connection manager 240 may also perform system reselection in an idle mode (with no applications running) and may perform registration, association, and authentication, as needed. Connection manager 240 may also perform system selection and/or acquisition for system loss. For radio on/off management, connection manager 240 may turn radios on or off intelligently to save battery power while providing the desired performance.

For extended connectivity, connection manager 240 may support peer-to-peer communication, which may be defined as communication between wireless devices with or without infrastructure equipment. Some examples of infrastructure-less peer-to-peer communication may include Infrared Data Association (IrDA) and Bluetooth. Some examples of infrastructure-based peer-to-peer communication include WLAN (via an access point) and cellular (via network entities). A service server may serve as an intermediary for peer-to-peer connectivity.

Connection manager 240 may also support extended connectivity (or extended peer-to-peer) for communication with wireless devices beyond the local link. Extended connectivity may enable device-to-device communication across wireless networks and sub-networks, and applications may be unaware of intermediate nodes in the networks. For example, wireless device 110 may communicate with a device in the user's home for remote PC control and may be able to reach this device beyond a WLAN Access Point with Network Address Translation (AP/NAT/firewall). Connection manager 240 may also support peer-to-multi-peer or multi-peer-to-multi-peer communication. The algorithms to enable extended connectivity may be provided via service clients in connection manager 240, and the services clients may communicate with service servers for provisioning and maintenance. An exemplary protocol is Interactive Connectivity Establishment (ICE), which specifics a methodology to carry out communications across networks.

FIG. 6 shows an exemplary scenario of extended connectivity for wireless device 110. Wireless device 110 may communicate peer-to-peer with another wireless device 112 for communication with a first wireless network 100, a second wireless network 102, the Internet 104, a third wireless device 114, or some other network or entity. For example, wireless network 100 may be a CDMA 1X or EVDO network, and wireless network 102 may be a GSM or WCDMA network. Wireless network 100 may be a serving network for wireless device 112. Wireless network 102 may be a home network for wireless device 110.

Wireless device 110 may communicate with wireless network 100 via wireless device 112, e.g., for communication with wireless device 114 (as shown in FIG. 6) or some other entity. Wireless device 110 may also communicate with wireless network 102 via wireless device 112, e.g., to download configuration information such as profiles, a PRL, a preferred PLMN list, etc. Wireless devices 110 and 112 may be peer devices that may have established credentials between these wireless devices.

Wireless device 112 may be implemented as shown in FIG. 2 and may include a radio subsystem, which may comprise multiple radios and a connection manager. Wireless device 110 may communicate with wireless device 112, which may provide connectivity information for its radios to wireless device 110. The connectivity information may indicate the available radios on wireless device 112, the capabilities of the available radios, etc. Wireless device 110 may ascertain which wireless networks are available through wireless device 112 based on the connectivity information from wireless device 112. Wireless device 110 may select radios on wireless device 112 for use by wireless device 110, e.g., in similar manner as selecting radios on wireless device 110. Wireless device 110 may map its active applications to the selected radios on wireless device 112, e.g., in similar manner as mapping applications to radios on wireless device 110. Connection manager 240 on wireless device 110 may communicate with the connection manager on wireless device 112 to control radios on wireless device 112 for use by wireless device 110. Wireless device 110 may thus be considered as having actual/local radios residing on wireless device 110 as well as virtual/remote radios residing on wireless device 112, with both the actual radios and the virtual radios being accessible to wireless device 110.

Wireless devices 110 and 112 may thus support collaborative or distributed connection management, which may enable extended connectivity for wireless device 110. In particular, wireless device 110 can communicate directly with wireless networks and can also communicate indirectly with wireless networks via peer devices.

Wireless device 112 may act as an intermediary to support communication for wireless device 110. However, wireless device 112 may function more than a wireless gateway that simply bridges incoming communications to outgoing communications. In particular, wireless device 112 may be a multi-radio device with both incoming and outgoing traffic flows. Wireless device 112 may include multiple radios (e.g., for WCDMA, EVDO, LTE, WLAN, etc.) and may route incoming communications to one of several possible cellular networks such as a WCDMA network, an EVDO network, an LTE network, a WLAN, etc. Wireless device 112 may also be capable of running its own applications, possibly while supporting the pass-through communications from wireless device 110. Wireless device 112 may thus be more than a simple wireless gateway and may have capabilities similar to those of wireless device 110.

FIG. 7 shows another exemplary scenario of extended connectivity for wireless device 110. In this example, wireless device 110 may support single-network operation and may be capable of communicating with only wireless network 100. Wireless device 112 may support multi-network operation and may be capable of simultaneously communicating with both wireless networks 100 and 102. Wireless devices 110 and 112 may share a peer-to-peer connection while communicating with other wireless networks.

Wireless device 110 may communicate directly with wireless network 100 and indirectly with wireless network 102 via wireless device 112. Applications on wireless device 110 may operate (i) with a connection 710 via wireless network 100 to the Internet and (ii) with a connection 720 via wireless device 112 and wireless network 102 to the Internet. Furthermore, wireless device 112 may have multiple connections to wireless networks 100 and 102. This may then allow applications on wireless device 110 to concurrently operate (i) on wireless network 100 via connection 710 through wireless device 110, (ii) on wireless network 102 via connection 720 through wireless device 112, and (iii) on wireless network 100 via a connection 730 through wireless device 112. Wireless device 110 may thus be able to communicate with different wireless networks 100 and 102 with the assistance of wireless device 112. Wireless device 110 may also be able to communicate with the same wireless network 100 via direct connection 710 and indirect connection 730. The applications on wireless device 110 may be mapped to appropriate connections based on the capabilities of the connections and the requirements of the applications. Data flows for the applications may be readily moved across wireless devices and across wireless networks with flow mobility.

As an example, an application on wireless device 110 may run directly on wireless network 100 and may also run via wireless device 112 on both wireless networks 100 and 102. This may increase the overall bandwidth for this application. In general, the bandwidth for wireless device 110 may be aggregated and increased through multiple network accesses including network accesses via other wireless devices.

FIG. 8 shows yet another exemplary scenario of extended connectivity for wireless device 110. In this example, wireless device 110 may support multi-network operation on wireless networks 100 and 102. However, wireless device 110 may have credentials for only wireless network 100 and may not be provisioned for access on wireless network 102. Wireless device 110 may attempt to connect to the Internet via wireless network 100 (step 1). However, wireless device 110 may be unable to connect to wireless network 100 due to poor coverage and/or other reasons. Wireless device 110 may know that it has a radio for wireless network 102 and may also realize that it is not provisioned for accessing wireless network 102. Alternatively, wireless device 110 may attempt to access wireless network 102 and may be denied access since wireless device 110 does not have credentials for wireless network 102. In either case, wireless device 110 may be unable to access wireless network 102 on its own.

Wireless device 110 may seek to obtain credentials to access wireless network 102 but may not have Internet connectivity to obtain the credentials. Wireless device 110 may then seek and discover a peer wireless device 112 that can help. Wireless device 110 may discover that wireless device 112 supports multi-network operation and has credentials to both wireless networks 100 and 102. Wireless device 110 may communicate with wireless device 112, e.g., via a local area link such as Bluetooth or WLAN (step 2). Wireless device 112 may be under the coverage of wireless network 100 and may connect to wireless network 100 (step 3). Wireless network 100 may be accessible by wireless device 112 but not by wireless device 110 due to various reasons such as different device capabilities, operating frequency bands, coverage issues, radio coexistence effects, etc. Wireless device 110 may send a request for credentials for wireless device 110 via wireless device 112 to a service server 118 in the Internet (step 4). Service server 118 may be an authentication server and may negotiate access on wireless network 102 for wireless device 110 (step 5). Service server 118 may obtain credentials for wireless device 110 to access wireless network 102. In one design, service server 118 may send the credentials via wireless network 102 to wireless device 112, which may forward the credentials to wireless device 110 (step 6). This design may allow a core network of wireless network 102 to authorize/register wireless device 110 to access its network. In another design, service server 118 may send the credentials via wireless network 100 to wireless device 112, which may forward the credentials to wireless device 110 (not shown in FIG. 8). For both designs, wireless device 110 may obtain the credentials to access wireless network 102. Wireless device 110 may then access wireless network 102 using the credentials and may obtain Internet connectivity via wireless network 102 (step 7).

As shown in FIG. 8, wireless device 110 may obtain credentials for one wireless network (e.g., wireless network 102) via a different wireless network (e.g., wireless network 100) with assistance of peer wireless device 112 and service server 118. Peer-to-peer communication may thus be used to acquire configuration information for a wireless network. This may be more common as peer-to-peer communication becomes more prevalent and the need for gaining ad hoc access to new wireless networks increases.

FIG. 8 may also be used for other scenarios. For example, wireless device 110 may determine (e.g., via an auxiliary service) that it can negotiate a better cost/price for wireless network 102 than its nominal wireless network 100. Wireless device 110 may then communicate with wireless network 102 instead of wireless network 100.

For clarity, extended connectivity via wireless radios in wireless devices 110 and 112 has been described above. The techniques described herein may also be used for wired devices, which may support wired communication via different wired radio technologies. For example, a wired device may include a telephone or DSL modem for communication via a telephone line, a cable modem for communication via cable, etc. The wired radios in a wired device may be controlled in similar manner as the wireless radios in wireless devices 110 and 112. The techniques may also be used for hybrid devices that include both wireless and wired radios. For example, wireless device 110 and/or wireless device 112 may include one or more wireless radios as well as one or more wired radios. Wireless device 110 may communicate with wireless device 112 via wireless and/or wired links, and wireless device 112 may communicate with another entity (e.g., a base station) via wireless and/or wired links.

FIG. 9 shows a design of a process 900 for communicating by a first device with extended connectivity. The first device (e.g., wireless device 110 in FIGS. 6, 7 and 8) may determine at least one radio selected for use on a second device (e.g., wireless device 112) that is external to the first device (block 912). In general, each device may include one or more wireless radios and/or one or more wired radios. In one design, the first device may receive connectivity information from the second device. The connectivity information may indicate which radios on the second device are available or selected, the capability of each radio, etc. The first device may determine the at least one radio selected for use on the second device based on the connectivity information. In another design, the first device may determine the capabilities of radios available for use on the second device and may select the at least one radio from among the available radios based on the capabilities of the available radios and data requirements of the first device. In general, the at least one radio may be selected by (i) the first device based on information provided by the second device or (ii) the second device possibly based on information provided by the first device.

The first device may communicate with at least one communication network via the at least one radio on the second device (block 914). In general, each communication network may be a wireless network or a wired network. In one design, the first device may communicate with a single communication network via a single radio on the second device. In another design, the first device may communicate with multiple communication networks via multiple radios on the second device. For example, the first device may communicate (i) with a first communication network via a first radio on the second device and (ii) with a second communication network via a second radio on the second device. In yet another design, the first device may communicate with a given communication network via both the first and second devices, e.g., to increase bandwidth. The first device may communicate with this communication network via a radio on the first device and also via one of the at least one radio on the second device. The first device may also communicate with the at least one communication network via one or more other devices in addition to the second device.

The first device may communicate with the second device using one or more radio technologies, which may be the same as or different from the at least one radio technology used by the at least one radio on the second device for communication with the at least one communication network. For example, the first device may communicate with the second device via Bluetooth or WLAN, and the second device may communicate with the at least one communication network via a 3GPP radio technology (e.g., GSM or WCDMA), a 3GPP2 radio technology (e.g., CDMA 1X or EDVO), and/or some other radio technology.

The first device may determine the capabilities of the at least one radio on the second device (block 916). The first device may map at least one application running on the first device to the at least one radio on the second device based on the capabilities of the at least one radio and the requirements of the at least one application (block 918). The first device may detect for changes in available radios on the second device and may repeat blocks 912 to 918 if changes in available radios are detected. The first device may also detect for changes in the active applications running on the first device and may repeat blocks 912 to 918 if changes in the active applications are detected. The changes in the active applications may be due to changes in the requirements of the active applications, termination of one or more active applications, launching of one or more additional applications, etc. The first device may also detect for changes in the operating state of the first and/or second device, changes in available resources for the first and/or second device, and/or other changes. The first device may repeat blocks 912 to 918 if any changes are detected.

FIG. 10 shows a design of a process 1000 for communicating by a first device with extended connectivity to obtain configuration information, e.g., as shown in FIG. 8. The first device may communicate with a first communication network via a second device external to the first device (block 1012). The first device may be unable to access the first communication network directly due to poor radio coverage and may be able to access the first communication network via the second device.

The first device may receive configuration information sent to the first device via the second device (block 1014). The configuration information may be for a second communication network that is different from the first communication network. The first device may communicate with a server via the second device and the first communication network to obtain the configuration information, e.g., as shown by step 4 in FIG. 8. In one design, the configuration information may comprise authentication information (e.g., credentials) usable by the first device to access the second communication network. The first device may access the second communication network using the configuration information (block 1016).

In general, the second communication network may be a visited network, a home network, or some other network. The configuration information may comprise different types of information for different communication networks. The configuration information may comprise cost information indicative of how much it costs to use the second communication network, performance information indicative of the performance of the second communication network, etc. The configuration information may also comprise at least one profile, a PRL, a preferred PLMN list, auxiliary clients, and/or other information. Each profile may define operation of the first device to obtain connectivity.

FIG. 11 shows a design of a process 1100 for supporting communication for a first device by a second device for extended connectivity. The second device may provide, to the first device, connectivity information for at least one radio available for use on the second device (block 1112). The second device may communicate with the first device (block 1114). The second device may also communicate with at least one communication network via the at least one radio on the second device to support communication between the first device and the at least one communication network (block 1116).

In one design, the second device may communicate with a single communication network via a single radio on the second device, e.g., as shown in FIG. 6. In another design, the second device may communicate with a first communication network via a first radio on the second device and also with a second communication network via a second radio on the second device, e.g., as shown in FIG. 7.

In one design, the second device may receive configuration information for the first device. This configuration information may be sent via one of the at least one communication network, e.g., in step 6 in FIG. 8. The second device may send the configuration information to the first device. The second device may also perform other functions to support communication for the first device.

Those of skill in the art would understand that information and signals may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.

Those of skill would further appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the disclosure herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present disclosure.

The various illustrative logical blocks, modules, and circuits described in connection with the disclosure herein may be implemented or performed with a general-purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.

The steps of a method or algorithm described in connection with the disclosure herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC. The ASIC may reside in a user terminal. In the alternative, the processor and the storage medium may reside as discrete components in a user terminal.

In one or more exemplary designs, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium. Computer-readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another. A storage media may be any available media that can be accessed by a general purpose or special purpose computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code means in the form of instructions or data structures and that can be accessed by a general-purpose or special-purpose computer, or a general-purpose or special-purpose processor. Also, any connection is properly termed a computer-readable medium. For example, if the software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium. Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media.

The previous description of the disclosure is provided to enable any person skilled in the art to make or use the disclosure. Various modifications to the disclosure will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other variations without departing from the spirit or scope of the disclosure. Thus, the disclosure is not intended to be limited to the examples and designs described herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein. 

1. A method of communicating, comprising: determining, by a first device, at least one radio selected for use on a second device external to the first device; and communicating, by the first device, with at least one communication network via the at least one radio on the second device.
 2. The method of claim 1, further comprising: determining capabilities of the at least one radio on the second device; and mapping at least one application running on the first device to the at least one radio on the second device based on the capabilities of the at least one radio and requirements of the at least one application.
 3. The method of claim 1, wherein the communicating, by the first device, with the at least one communication network comprises communicating, by the first device, with a first communication network via a first radio on the second device, and communicating, by the first device, with a second communication network via a second radio on the second device.
 4. The method of claim 1, further comprising: communicating, by the first device, with a first communication network via a radio on the first device.
 5. The method of claim 4, wherein the communicating, by the first device, with the at least one communication network comprises communicating, by the first device, with the first communication network via one of the at least one radio on the second device, the first communication network being one of the at least one communication network.
 6. The method of claim 1, wherein the communicating, by the first device, with the at least one communication network comprises communicating, by the first device, with the at least one communication network via the second device and at least one additional device.
 7. The method of claim 1, wherein the determining, by the first device, at least one radio selected for use on the second device comprises receiving connectivity information from the second device, and determining the at least one radio selected for use on the second device based on the connectivity information.
 8. The method of claim 1, wherein the determining, by the first device, at least one radio selected for use on the second device comprises determining capabilities of radios available for use on the second device, and selecting the at least one radio from among the available radios based on the capabilities of the available radios and data requirements of the first device.
 9. The method of claim 1, further comprising: detecting for changes in available radios on the second device; and repeating the determining at least one radio selected for use on the second device if changes in available radios are detected.
 10. The method of claim 1, further comprising: detecting for changes in active applications running on the first device; and repeating the determining at least one radio selected for use on the second device if changes in active applications are detected.
 11. The method of claim 1, wherein the at least one radio on the second device comprises at least one wireless radio.
 12. The method of claim 1, wherein the at least one radio on the second device comprises at least one wired radio.
 13. An apparatus for communication, comprising: means for determining, by a first device, at least one radio selected for use on a second device external to the first device; and means for communicating, by the first device, with at least one communication network via the at least one radio on the second device.
 14. The apparatus of claim 13, further comprising: means for determining capabilities of the at least one radio on the second device; and means for mapping at least one application running on the first device to the at least one radio on the second device based on the capabilities of the at least one radio and requirements of the at least one application.
 15. The apparatus of claim 13, wherein the means for communicating, by the first device, with the at least one communication network comprises means for communicating, by the first device, with a first communication network via a first radio on the second device, and means for communicating, by the first device, with a second communication network via a second radio on the second device.
 16. The apparatus of claim 13, further comprising: means for communicating, by the first device, with a first communication network via a radio on the first device.
 17. The apparatus of claim 16, wherein the means for communicating, by the first device, with the at least one communication network comprises means for communicating, by the first device, with the first communication network via one of the at least one radio on the second device, the first communication network being one of the at least one communication network.
 18. An apparatus for communication, comprising: at least one processor configured to determine, by a first device, at least one radio selected for use on a second device external to the first device, and to communicate, by the first device, with at least one communication network via the at least one radio on the second device.
 19. The apparatus of claim 18, wherein the at least one processor is configured to determine capabilities of the at least one radio on the second device and to map at least one application running on the first device to the at least one radio on the second device based on the capabilities of the at least one radio and requirements of the at least one application.
 20. The apparatus of claim 18, wherein the at least one processor is configured to communicate, by the first device, with a first communication network via a first radio on the second device, and to communicate, by the first device, with a second communication network via a second radio on the second device.
 21. The apparatus of claim 18, wherein the at least one processor is configured to communicate, by the first device, with a first communication network via a radio on the first device.
 22. The apparatus of claim 21, wherein the at least one processor is configured to communicate, by the first device, with the first communication network via one of the at least one radio on the second device, the first communication network being one of the at least one communication network.
 23. A computer program product, comprising: a computer-readable medium comprising: code for causing at least one computer to determine, by a first device, at least one radio selected for use on a second device external to the first device, and code for causing the at least one computer to communicate, by the first device, with at least one communication network via the at least one radio on the second device.
 24. A method of communicating, comprising: communicating between a first device and a first communication network via a second device external to the first device; and receiving configuration information sent to the first device via the second device, the configuration information being for a second communication network different from the first communication network.
 25. The method of claim 24, further comprising: accessing the second communication network by the first device using the configuration information.
 26. The method of claim 24, wherein the configuration information comprises credentials usable by the first device to access the second communication network.
 27. The method of claim 24, wherein the configuration information comprises cost information for the second communication network, or performance information for the second communication network, or both.
 28. The method of claim 24, wherein the configuration information comprises at least one profile, each profile defining operation of the first device to obtain connectivity.
 29. The method of claim 24, further comprising: communicating with a server via the second device and the first communication network to obtain the configuration information.
 30. An apparatus for communication, comprising: means for communicating between a first device and a first communication network via a second device external to the first device; and means for receiving configuration information sent to the first device via the second device, the configuration information being for a second communication network different from the first communication network.
 31. The apparatus of claim 30, further comprising: means for accessing the second communication network by the first device using the configuration information.
 32. The apparatus of claim 30, further comprising: means for communicating with a server via the second device and the first communication network to obtain the configuration information.
 33. A method of supporting communication, comprising: providing, to a first device, connectivity information for at least one radio available for use on a second device external to the first device; communicating by the second device with the first device; and communicating by the second device with at least one communication network via the at least one radio on the second device to support communication between the first device and the at least one communication network.
 34. The method of claim 33, wherein the communicating by the second device with the at least one communication network comprises communicating by the second device with a first communication network via a first radio on the second device, and communicating by the second device with a second communication network via a second radio on the second device.
 35. The method of claim 33, further comprising: receiving, by the second device, configuration information sent via one of the at least one communication network, and sending the configuration information from the second device to the first device.
 36. An apparatus for supporting communication, comprising: means for providing, to a first device, connectivity information for at least one radio available for use on a second device external to the first device; means for communicating by the second device with the first device; and means for communicating by the second device with at least one communication network via the at least one radio on the second device to support communication between the first device and the at least one communication network.
 37. The apparatus of claim 36, wherein the means for communicating by the second device with the at least one communication network comprises means for communicating by the second device with a first communication network via a first radio on the second device, and means for communicating by the second device with a second communication network via a second radio on the second device.
 38. The apparatus of claim 36, further comprising: means for receiving, by the second device, configuration information sent via one of the at least one communication network, and means for sending the configuration information from the second device to the first device. 